package com.csun.cmny.provider.dao;

import com.csun.cmny.provider.model.domain.OmcExpenseTypeModelCode;
import com.csun.cmny.provider.model.dto.revise.GroupPaymentFeeQueryDto;
import com.csun.cmny.provider.model.vo.ExpenseTypeAllVo;
import com.csun.cmny.provider.model.vo.ExpenseTypeModelCodeVo;
import com.csun.cmny.provider.model.vo.revise.GroupPaymentFeeVo;
import org.apache.ibatis.annotations.Param;
import tk.mybatis.mapper.common.Mapper;

import java.util.List;

public interface OmcExpenseTypeModelCodeMapper extends Mapper<OmcExpenseTypeModelCode> {

    /**
     * 费用类别配置-查询
     * @param: [loginAuthDto]
     * @return: java.util.List<com.csun.cmny.provider.model.vo.ExpenseTypeModelCodeVo>
     */
    List<ExpenseTypeModelCodeVo> queryAll(@Param("groupId") Long groupId);

    /**
     * 根据项目ID和机构ID查询项目是否请假退费
     * @param itemId
     * @param groupId
     * @return
     */
    Integer selectLeaveReturn(@Param("itemId") Long itemId,@Param("groupId") Long groupId);

    /**
     * query group payment fee by group id
     *
     * @param groupPaymentFeeQueryDto   the group payment fee query dto
     *
     * @return  the group payment fee vo list
     */
    List<GroupPaymentFeeVo> queryGroupPaymentFeeByGroupId(GroupPaymentFeeQueryDto groupPaymentFeeQueryDto);

    /**
     * 根据机构ID查询该机构非周期收费类别
     */
    List<ExpenseTypeAllVo> queryTypeAll(Long groupId);
}